Storage-area networks, or SANs, are gaining in popularity because they promise to curb the rising costs of storage management by enabling wider sharing of storage devices and the consolidation of storage resources under centralized administrative control. The promise of storage-area networks to simplify management relies on their ability to virtualize storage devices, separating the virtual or logical view of storage from the physical view. Storage virtualization allows administrators to deal and manage the simpler virtual view, while the storage management system handles the complexities of how that view is implemented on top of physical resources. Therefore, a high-performance and secure storage virtualization solution is crucial for such storage networks.
When storage virtualization is employed, the applications, which in this context refer to the file servers and database servers and any other application accessing block-level devices, are presented with a virtual storage space which has the required performance and availability requirements. The implementation and management of storage to provide the requisite levels of performance and availability is hidden and can change underneath the covers without application knowledge or participation.
Virtual storage provides the illusion of expandable storage space thereby isolating the clients from the management of physical storage resources, such as disks, disk arrays and tapes. While the underlying physical devices have fixed and limited capacity, a virtual storage repository can expand its capacity on a per need basis, and can improve its performance by changing the underlying physical storage devices used. Another advantage of virtualization is that it allows for load balancing to occur without host participation. When the physical blocks are be moved to balance load, but application-visible names do not have to be changed. Furthermore, storage virtualization allows for the view (namespace) of visible storage to be customized on a per-host basis and security and access control policies to be managed on a per-host basis.
The basic idea of storage virtualization is to provide a layer of indirection, mapping virtual storage blocks to physical blocks. This invention concerns storage-area networks which use iSCSI devices. iSCSI is an TCP/IP based protocol to carry SCSI commands over an IP network between hosts and storage devices. Furthermore, we suppose that the SCSI storage devices are connected via a switched SAN within a data center. SAN gateways are placed at the edge of the SAN to provide the virtual storage abstraction to applications running on the hosts. All traffic to the devices goes through one of the SAN gateways.
In such a system, a good virtualization solution should achieve the following goals:                Security and access control: Security is critical to protect storage.        High-performance: Avoiding data copies and connection management at the virtualization gateway increases bandwidth.        Manageability of storage: Security protocol upgrades, storage migration should be easy to do.        